Show a first-run setup card on cold installs - #119
Merged
Conversation
Implements section 1 of the approved onboarding mockup (docs/design/onboarding-setup-card.html): a brand-new install's empty draft thread now opens on a boxless, hairline-divided setup card instead of the bare "What's next" prompt. One live row per provider (settings status language, dot flips green while the sign-in terminal is open, Sign in runs the same auth flow the composer notice uses, Install guide routes to provider settings), a project row for the bootstrapped launch folder, and Start first thread that enables once one provider is usable and a project exists. Shows only on a genuine cold start: local draft thread, not General Chat, not the hosted surface, environment bootstrapped, no user message ever sent in the environment. Skip for now, Start first thread, and any send dismiss it permanently per environment (schema-validated localStorage, versionSkew dismissal pattern). While the card is visible the ambient provider-status notice is suppressed; the card already states the same problem with the same fix actions.
The updates-available card said only which providers can be updated; the single-provider variant already named its version in the title. The multi-provider description now reads like Codex v1.1.0 and Claude v2.1.197 can be updated, same one-line height.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Screenshot verification caught the real bug: a reloaded draft thread has no project bound yet, so the card claimed "No folder yet" while the sidebar showed the bootstrapped workspace project. The card now falls back to the workspace project list (and the stale memo deps that would have hidden the fix are corrected). Also from maintainer review of the gallery: - The card inherits the empty state's identity: the Threadlines figure above the heading and the same staged rise animation - The project row shows the project's favicon like every other project selector
Provider status details are written for the settings page and can run to a paragraph with install URLs; the Claude row rendered four lines. The card keeps the headline plus the first sentence; the full recipe stays one click away behind the row's action.
Maintainer feedback on the verified screenshots: the full-size figure pushed the card down until the footer crowded the composer, and a row-per-provider list cannot grow with future providers. - The card uses a two-thirds figure with tighter margins, slimmer row padding, and guaranteed clearance above the composer - Provider rows order by actionability (sign-in, install, ready) instead of settings order; a checklist leads with the shortest path to one working agent, which also puts bundled Codex first on cold installs - The card caps at three provider rows; the rest collapse into a single More agents row pointing at Settings, so four or more providers never stretch the checklist
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements section 1 of the approved onboarding mockup (
docs/design/onboarding-setup-card.html) — the proactive piece of the fresh-install work: a setup card that greets a genuinely new install instead of dropping it into a bare draft thread. Plus one small approved UX tweak to the provider update card.Setup card
latestUserMessageAtacross the environment's threads — a plain thread count would never be zero because the launch-folder bootstrap creates one). "Skip for now", "Start first thread", and any send dismiss it permanently per environment (schema-validated localStorage,versionSkewpattern).Update card tweak (second commit)
Multi-provider "Updates available" now names each target version — "Codex v1.1.0 and Claude v2.1.197 can be updated." — matching the single-provider title that already did. Same one-line height.
Testing
vp fmt,vp lint,vp run typecheckgreen.firstRunSetup.test.ts11 cases (show/hide decision, row derivation, start enablement),ProviderUpdateLaunchNotification.logic.test.ts33 green.